$(function() {
	$('.list-content-div table thead tr th:last').attr("width","8%");
	$('.number').on('keyup',function(){
		var number=$(this).val();
		number=number.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符  
		number=number.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的  
		number=number.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
		number=number.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数  
		if(number.indexOf(".")< 0 && number!=""){//以上已经过滤，此处控制的是如果没有小数点，首位不能为类似于 01、02的金额 
			number= parseFloat(number);
		}
		$(this).val(number);
	});

});

// 自定义表格操作按钮
function handleOpRow(tr, obj, container) {
	if (obj.ruleStatus == 0) {
		tr.append($('<td/>').addClass('op').append($('<a/>', {
			"href" : "javascript:;",
			"data-id" : obj.id,
			"billType":obj.billType
		}).addClass('start-item').text('停用')).append($('<span/>').text('  |  '))
				.append($('<a/>', {
					"href" : "javascript:;",
					"data-id" : obj.id,
					"billType":obj.billType
				}).addClass('edit-item').text('编辑')));
	} else {
		tr.append($('<td/>').addClass('op').append($('<a/>', {
			"href" : "javascript:;",
			"data-id" : obj.id,
			"billType":obj.billType
		}).addClass('start-item').text('启用')).append($('<span/>').text('  |  '))
				.append($('<a/>', {
					"href" : "javascript:;",
					"data-id" : obj.id,
					"billType":obj.billType
				}).addClass('edit-item').text('编辑')));
	}
}

//自定义表格信息
function handleCellValue(tfNotUnderline, cellVal, obj, container) {// (列名，单元格值，行对象)
	if (tfNotUnderline == "ruleStatus") {
		if (cellVal == 0) {
			return '已启用';
		} else {
			return '已停用';
		}
	} else {
		return cellVal;
	}
}
//一键智能启动
$('#create').on('click', function() {
	layer.confirm('系统会智能判断数据，并将所有单据类型开启一个使用。', {
		  btn: ['确认','取消'] //按钮
		}, function(){
			var url = $('body').attr('ctxPath')+'/codingRule/smartCreate?_t='+new Date().getTime();
			$.post(url,function(data){
				if(data.state){
					layer.msg(data.msg);
					listui.refresh();
				}else{
					layer.msg(data.msg);
				}
			});
		});
});


// 停用启用
$('.list-content-div table>tbody').delegate('tr>td>.start-item', 'click',function() {
			var id = $(this).attr('data-id');
			var billType = $(this).attr('billType');
			var container = $(this).closest('.listui');
			var val = container.context.innerText;
			var ruleStatus = val == "启用" ? 0 : 1;
			$.post($('body').attr('ctxpath') + '/codingRule/start?t_='+new Date().getTime(), {
				'id' : id,
				'billType':billType,
				'ruleStatus' : ruleStatus
			}, function(data) {

				if (data.flag) {
					layer.msg(data.msg);
					listui.refresh();
				} else {
					layer.msg(data.msg);
				}
			});
		});

//点击新增
$('#add').click(function() {
	$("#addCodingRule :input").val('');// 清空表单
	$('#addCodingRule :checkbox').removeAttr('checked');//去除复选框选中
	$('#addCodingRule .modal-title').text("新增编码规则信息");
	
	//设置禁用
	$("#codingPrefix").attr('disabled',true);
	$("#dateTime").attr('disabled',true);
	$("#sequenceLength").attr('disabled',true);
	$("#sequenceBeginValue").attr('disabled',true);
	$("#stepLengthValue").attr('disabled',true);
	$("#codingSuffix").attr('disabled',true);
	
	$('.modal-footer #save').show();//显示保存按钮
	$('.modal-footer #update').hide();//隐藏更新按钮
	$('#addCodingRule').modal({'show':true,'moveable':true});
});

// 通过复选框选中来更改前缀
function check1(obj) {
	if (obj.checked == true) {
		layer.msg('编码规则将按给定的前缀生成');
		$("#codingPrefix").removeAttr('disabled');
	} else {
		$("#codingPrefix").attr('disabled',true);
		$("#codingPrefix").val('');
	}
}

//通过复选框选中来更改日期
function check2(obj) {
	if (obj.checked == true) {
		layer.msg('编码规则将按选定的日期格式生成');
		$("#dateTime").removeAttr('disabled');
	} else {
		$("#dateTime").attr('disabled',true);
		$("#dateTime").val('');
	}
}



//通过复选框选中来更改序列
function check3(obj) {
	if (obj.checked == true) {
		layer.msg('编码规则将按给定的序列生成');
		$("#sequenceLength").removeAttr('disabled');
		$("#sequenceBeginValue").removeAttr('disabled');
		$("#stepLengthValue").removeAttr('disabled');
	} else {
		$("#sequenceLength").attr('disabled',true);
		$("#sequenceLength").val('');
		$("#sequenceBeginValue").attr('disabled',true);
		$("#sequenceBeginValue").val('');
		$("#stepLengthValue").attr('disabled',true);
		$("#stepLengthValue").val('');
	}
}

//通过复选框选中来更改后缀
function check4(obj) {
	if (obj.checked == true) {
		layer.msg('编码规则将按给定的后缀生成');
		$("#codingSuffix").removeAttr('disabled');
	} else {
		$("#codingSuffix").attr('disabled',true);
		$("#codingSuffix").val('');
	}
}
//保存
$('#save').on('click', function() {
	var params = $('#codingRuleForm').serialize();
	var url = $('body').attr('ctxpath') + '/codingRule/addCodingRule?t_='+new Date().getTime();
	
	if($('#billType').val()==null){
		layer.msg("请选择一种单据类型");
		return;
	}
	if($('#ruleDesc').val().trim()==""){
		layer.msg("请填写规则描述");
		return;
	}
	if($('#dateTimeCheckBox')[0].checked==false&&$('#sequenceCheckBox')[0].checked==false){
		layer.msg("日期和序列必须选择其中一项");
		return;
	}
	
	if($('#codingPrefixCheckBox')[0].checked){
		if($('#codingPrefix').val().trim()==""){
			layer.msg("前缀不能为空");
			return;
		}
	}
	
	if($('#dateTimeCheckBox')[0].checked){
		if($('#dateTime').val()==null){
			layer.msg("请选择一种日期格式");
			return;
		}
	}
	
	if($('#sequenceCheckBox')[0].checked){
		if($('#sequenceLength').val().trim()==""){
			layer.msg("序列长度不能为空");
			return;
		}
		if($('#sequenceBeginValue').val().trim()==""){
			layer.msg("起步值不能为空");
			return;
		}
		if($('#stepLengthValue').val().trim()==""){
			layer.msg("步长不能为空");
			return;
		}
	}
	
	if($('#codingSuffixCheckBox')[0].checked){
		if($('#codingSuffix').val().trim()==""){
			layer.msg("后缀不能为空");
			return;
		}
	}

	//保存 发请求
	$.post(url, params, function(data) {
			if(data.flag){
				$('#addCodingRule').modal("hide");
				
				layer.alert(data.msg);
				listui.refresh();
			}else{
				layer.msg(data.msg);
			}
	});
});


//点击编辑..获取对应记录的信息

$('.list-content-div table>tbody').delegate('tr>td>.edit-item', 'click',function() {
	$("#addCodingRule :input").val('');// 清空表单
	$('#addCodingRule :checkbox').removeAttr('checked');//去除复选框选中
	$('#addCodingRule .modal-title').text("修改编码规则信息");
	
	//设置禁用
	$("#codingPrefix").attr('disabled',true);
	$("#dateTime").attr('disabled',true);
	$("#sequenceLength").attr('disabled',true);
	$("#sequenceBeginValue").attr('disabled',true);
	$("#stepLengthValue").attr('disabled',true);
	$("#codingSuffix").attr('disabled',true);
	
	var id = $(this).attr('data-id');
	var url = $('body').attr('ctxPath')+'/codingRule/showItem/'+id+'?_t='+new Date().getTime();
	$.post(url,{'id':id},function(data){
		
		//表单绑定
		$('#id').val(data.id);
		$('#sequenceValue').val(data.sequenceValue);
		$('#billType').val(data.billType);
		$('#ruleDesc').val(data.ruleDesc);
		$('#createTime').val(data.createTime);
		$('#updateTime').val(data.updateTime);
		$('#codingPrefix').val(data.codingPrefix);
		$('#dateTime').val(data.dateTime);
		$('#sequenceLength').val(data.sequenceLength);
		$('#sequenceBeginValue').val(data.sequenceBeginValue);
		$('#stepLengthValue').val(data.stepLengthValue);
		$('#codingSuffix').val(data.codingSuffix);
		//前缀
		if($('#codingPrefix').val()!=""){
			$('#codingPrefixCheckBox')[0].checked=true;
			$('#codingPrefix')[0].disabled=false;
		}
		//日期
		if($('#dateTime').val()!=null){
			$('#dateTimeCheckBox')[0].checked=true;
			$('#dateTime')[0].disabled=false;
		}
		//序列
		if($('#sequenceLength').val()!=""){
			$('#sequenceCheckBox')[0].checked=true;
			$('#sequenceLength')[0].disabled=false;
			$('#sequenceBeginValue')[0].disabled=false;
			$('#stepLengthValue')[0].disabled=false;
		}
		//后缀
		if( $('#codingSuffix').val()!=""){
			$('#codingSuffixCheckBox')[0].checked=true;
			$('#codingSuffix')[0].disabled=false;
		}
		
		
		$('.modal-footer #update').show();//显示更新按钮
		$('.modal-footer #save').hide();//隐藏新增按钮
		$('#addCodingRule').modal({'show':true,'moveable':true});
		
	});
});

//更新
$('#update').on('click',function(){
	
	if($('#billType').val()==null){
		layer.msg("请选择一种单据类型");
		return;
	}
	if($('#ruleDesc').val().trim()==""){
		layer.msg("请填写规则描述");
		return;
	}
	if($('#dateTimeCheckBox')[0].checked==false&&$('#sequenceCheckBox')[0].checked==false){
		layer.msg("日期和序列必须选择其中一项");
		return;
	}
	
	if($('#codingPrefixCheckBox')[0].checked){
		if($('#codingPrefix').val().trim()==""){
			layer.msg("前缀不能为空");
			return;
		}
	}
	
	if($('#dateTimeCheckBox')[0].checked){
		if($('#dateTime').val()==null){
			layer.msg("请选择一种日期格式");
			return;
		}
	}
	
	if($('#sequenceCheckBox')[0].checked){
		if($('#sequenceLength').val().trim()==""){
			layer.msg("序列长度不能为空");
			return;
		}
		if($('#sequenceBeginValue').val().trim()==""){
			layer.msg("起步值不能为空");
			return;
		}
		if($('#stepLengthValue').val().trim()==""){
			layer.msg("步长不能为空");
			return;
		}
	}
	
	if($('#codingSuffixCheckBox')[0].checked){
		if($('#codingSuffix').val().trim()==""){
			layer.msg("后缀不能为空");
			return;
		}
	}
	
	var params = $('#codingRuleForm').serialize();
	
	var url = $('body').attr('ctxPath')+'/codingRule/updateCodingRule?_t='+new Date().getTime();
	
	$.post(url,params,function(data){
		if(data.flag){
			$('#addCodingRule').modal("hide");
			
			layer.alert(data.msg);
			listui.refresh();
		}else{
			layer.msg(data.msg);
		}
		
	});
	
});
